package com.lau.dicttranslator.annotation;

import com.lau.dicttranslator.enums.DictType;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 字典字段注解
 * 用于标记需要进行字典翻译的字段
 */
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface DictField {
    
    /**
     * 字典类型
     */
    DictType dictType() default DictType.DATABASE;
    
    /**
     * 字典代码/枚举类名
     */
    String dictCode();
    
    /**
     * 生成的显示字段名后缀，默认为"Name"
     */
    String nameSuffix() default "Name";
    
    /**
     * 是否启用缓存
     */
    boolean enableCache() default true;
    
    /**
     * 缓存过期时间（秒），默认1小时
     */
    long cacheExpire() default 3600;
} 